#include "mainwindow.h"
#include <QFont>
#include <QPixmap>
#include <QPalette>
#include "GameSetting.h"

MainWindow::MainWindow(QWidget *parent) : QDialog(parent) 
{
    // 窗口设置
    setWindowTitle("游戏说明");
    setFixedSize(GameSetting::SceneWidth, GameSetting::SceneHeight);

    // 设置背景图片
    QPixmap background(":/images/background.png"); // 替换为图片路径
    background = background.scaled(this->size(), Qt::IgnoreAspectRatio); // 缩放背景图适应窗口
    QPalette palette;
    palette.setBrush(QPalette::Window, background);
    this->setPalette(palette);

    // 布局
    QVBoxLayout *layout = new QVBoxLayout(this);
    layout->setAlignment(Qt::AlignCenter);
    layout->setSpacing(30);

    // 标题 - 增大字体并设置半透明效果
    titleLabel = new QLabel("芙芙与膨膨兽", this);
    QFont titleFont("Arial", 30, QFont::Bold);
    titleLabel->setFont(titleFont);
    titleLabel->setAlignment(Qt::AlignCenter);
    titleLabel->setStyleSheet("background-color: rgba(255, 255, 255, 150); color: black; padding: 10px;");

    // 游戏说明 - 设置半透明背景
    QString instructionsText =
        "<h3>游戏操作说明:</h3>"
        "<p><b>方向键 A(向左移动) D(向右移动) W(向上移动) S(向下移动)</b>: 控制角色移动</p>"
        "<p><b>空格键</b>: 发射子弹</p>"
        "<p><b>回车键</b>: 游戏结束后重新开始</p>"
        "<h3>游戏规则:</h3>"
        "<p>• 击中敌人获得分数</p>"
        "<p>• 避免与敌人相撞，否则会减少生命值</p>"
        "<p>• 生命值归零游戏结束</p>";

    instructionsLabel = new QLabel(instructionsText, this);
    QFont textFont("Arial", 14);
    instructionsLabel->setFont(textFont);
    instructionsLabel->setAlignment(Qt::AlignLeft);
    instructionsLabel->setWordWrap(true);
    instructionsLabel->setStyleSheet("background-color: rgba(255, 255, 255, 150); color: black; padding: 15px;");

    // 开始按钮 
    startButton = new QPushButton("开始游戏", this);
    startButton->setFixedSize(200, 50);
    QFont buttonFont("Arial", 16);
    startButton->setFont(buttonFont);
    startButton->setStyleSheet("QPushButton { background-color: #4CAF50; color: white; border: none; border-radius: 5px; }"
                               "QPushButton:hover { background-color: #45a049; }");

    // 连接信号槽
    connect(startButton, &QPushButton::clicked, this, &MainWindow::startGame);

    // 添加到布局
    layout->addWidget(titleLabel);
    layout->addWidget(instructionsLabel);
    layout->addWidget(startButton, 0, Qt::AlignCenter);


}

void MainWindow::startGame() 
{
    this->accept(); // 关闭对话框并返回 QDialog::Accepted
}
